home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / slaein.z / slaein
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. SSSSLLLLAAAAEEEEIIIINNNN((((3333FFFF))))                                                          SSSSLLLLAAAAEEEEIIIINNNN((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SLAEIN - use inverse iteration to find a right or left eigenvector
  10.      corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg matrix
  11.      H
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE SLAEIN( RIGHTV, NOINIT, N, H, LDH, WR, WI, VR, VI, B, LDB,
  15.                         WORK, EPS3, SMLNUM, BIGNUM, INFO )
  16.  
  17.          LOGICAL        NOINIT, RIGHTV
  18.  
  19.          INTEGER        INFO, LDB, LDH, N
  20.  
  21.          REAL           BIGNUM, EPS3, SMLNUM, WI, WR
  22.  
  23.          REAL           B( LDB, * ), H( LDH, * ), VI( * ), VR( * ), WORK( * )
  24.  
  25. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  26.      SLAEIN uses inverse iteration to find a right or left eigenvector
  27.      corresponding to the eigenvalue (WR,WI) of a real upper Hessenberg matrix
  28.      H.
  29.  
  30.  
  31. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  32.      RIGHTV   (input) LOGICAL
  33.               = .TRUE. : compute right eigenvector;
  34.               = .FALSE.: compute left eigenvector.
  35.  
  36.      NOINIT   (input) LOGICAL
  37.               = .TRUE. : no initial vector supplied in (VR,VI).
  38.               = .FALSE.: initial vector supplied in (VR,VI).
  39.  
  40.      N       (input) INTEGER
  41.              The order of the matrix H.  N >= 0.
  42.  
  43.      H       (input) REAL array, dimension (LDH,N)
  44.              The upper Hessenberg matrix H.
  45.  
  46.      LDH     (input) INTEGER
  47.              The leading dimension of the array H.  LDH >= max(1,N).
  48.  
  49.      WR      (input) REAL
  50.              WI      (input) REAL The real and imaginary parts of the
  51.              eigenvalue of H whose corresponding right or left eigenvector is
  52.              to be computed.
  53.  
  54.      VR      (input/output) REAL array, dimension (N)
  55.              VI      (input/output) REAL array, dimension (N) On entry, if
  56.              NOINIT = .FALSE. and WI = 0.0, VR must contain a real starting
  57.              vector for inverse iteration using the real eigenvalue WR; if
  58.              NOINIT = .FALSE. and WI.ne.0.0, VR and VI must contain the real
  59.              and imaginary parts of a complex starting vector for inverse
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSLLLLAAAAEEEEIIIINNNN((((3333FFFF))))                                                          SSSSLLLLAAAAEEEEIIIINNNN((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              iteration using the complex eigenvalue (WR,WI); otherwise VR and
  75.              VI need not be set.  On exit, if WI = 0.0 (real eigenvalue), VR
  76.              contains the computed real eigenvector; if WI.ne.0.0 (complex
  77.              eigenvalue), VR and VI contain the real and imaginary parts of
  78.              the computed complex eigenvector. The eigenvector is normalized
  79.              so that the component of largest magnitude has magnitude 1; here
  80.              the magnitude of a complex number (x,y) is taken to be |x| + |y|.
  81.              VI is not referenced if WI = 0.0.
  82.  
  83.      B       (workspace) REAL array, dimension (LDB,N)
  84.  
  85.      LDB     (input) INTEGER
  86.              The leading dimension of the array B.  LDB >= N+1.
  87.  
  88.      WORK   (workspace) REAL array, dimension (N)
  89.  
  90.      EPS3    (input) REAL
  91.              A small machine-dependent value which is used to perturb close
  92.              eigenvalues, and to replace zero pivots.
  93.  
  94.      SMLNUM  (input) REAL
  95.              A machine-dependent value close to the underflow threshold.
  96.  
  97.      BIGNUM  (input) REAL
  98.              A machine-dependent value close to the overflow threshold.
  99.  
  100.      INFO    (output) INTEGER
  101.              = 0:  successful exit
  102.              = 1:  inverse iteration did not converge; VR is set to the last
  103.              iterate, and so is VI if WI.ne.0.0.
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.